#include <my_header.h>

/* Usage: ./1_open_close filename */
int main(int argc, char *argv[]){                                  
    ARGS_CHECK(argc, 2);
    // 以读写模式打开文件，若文件不存在，没有权限会打开失败
    //  int fd = open(argv[1], O_RDWR); // fopen:a+

    // 以只读模式打开文件，若文件不存在会创建一个新文件 
    //  int fd = open(argv[1],O_RDONLY | O_CREAT, 0666);

    // 以读写模式打开文件，文件不存在就创建一个新文件，
    // 若文件存在则清空此文件内容
    // 类似fopen的w+模式打开文件
    int fd = open(argv[1], O_RDWR | O_CREAT | O_TRUNC, 0666);
    ERROR_CHECK(fd, -1, "open");    // 判是否打开成功
    // 3 前三个是 0:标椎输入 1：标准输出 2：标椎错误
    printf("fd = %d\n", fd);    // 打开文件描述符 

    close(fd);  // 关闭打开的文件
    return 0;
}


